package com.bosch.in.rtp1.ept.manager;

import java.sql.SQLException;
import java.util.List;

import com.bosch.in.rtp1.ept.action.form.FrozenColumnForm;
import com.bosch.in.rtp1.ept.constant.TableType;

/**
 * Business Delegate interface to define contract of service which is used to manipulate data
 * on Frozen Column Configuration table
 * @author TPR1HC
 */

public interface FrozenColumnManager {
	
	/**
	 * Update frozen column for both LotStatus table and ReleasedHold table.
	 * @param freezedColumnForm
	 * @return
	 * @throws SQLException
	 */
	boolean updateFrozenColumn(FrozenColumnForm frozenColumnForm) throws SQLException;
	
	/**
	 * Get setting of Frozen Column Configuration table
	 * @return
	 * @throws SQLException
	 */
	FrozenColumnForm getFrozenColumnForm() throws SQLException;
	
	/**
	 * Get all frozen column according to given table 
	 * @return frozen column list
	 * @throws SQLException
	 */
	List<String> getFrozenColumns(TableType tableType) throws SQLException;
	
}
